package com.weitu.securitycheck.service;

import com.weitu.securitycheck.entity.CheckPlan;
import com.weitu.securitycheck.entity.CheckPlanCriteria;

import java.util.List;

public interface CheckPlanService {
    /**
     * 根据条件查询数量
     *
     * @param example 条件对象
     * @return 数量
     */
    int countByCriteria(CheckPlanCriteria example);

    /**
     * 根据主键查询实体
     *
     * @param id 主键id
     * @return 实体
     */
    CheckPlan selectByPrimaryKey(String id);

    /**
     * 根据条件查询列表
     *
     * @param example 条件对象
     * @return 数据列表
     */
    List<CheckPlan> selectByCriteria(CheckPlanCriteria example);

    /**
     * 根据主键删除一条数据
     *
     * @param id 主键
     * @return 受影响的行数
     */
    int deleteByPrimaryKey(String id);

    /**
     * 根据主键选择性的更新数据
     *
     * @param record 记录
     * @return 受影响的行数
     */
    int updateByPrimaryKeySelective(CheckPlan record);

    /**
     * 根据条件选择性的更新数据
     *
     * @param record  记录
     * @param example 条件对象
     * @return 受影响的行数
     */
    int updateByCriteriaSelective(CheckPlan record, CheckPlanCriteria example);

    /**
     * 选择性的插入一条数据
     *
     * @param record 记录
     * @return 受影响的行数
     */
    int insertSelective(CheckPlan record);

    /**
     * 保存附件和插入检查计划数据
     *
     * @param checkPlan 参数实体
     * @return 是否成功
     */
    boolean saveAccessoryAndInsert(CheckPlan checkPlan);

    /**
     * 保存附件和更新检查计划数据
     *
     * @param checkPlan 参数实体
     * @return 是否成功
     */
    boolean saveAccessoryAndUpdate(CheckPlan checkPlan);
}